﻿namespace WP7Contrib.Services.BingMaps.Model
{
    using System;
    using Collections;
    using Common;

    public interface IRouteSearchCriterion : ICloneable<IRouteSearchCriterion>
    {
        Avoid Avoid { get; }
        ObservableCollection<WayPoint> WayPoints { get; }
        int? Heading { get; }
        Optimize? Optimize { get; }
        RoutePathOutput PathOutput { get; }
        DistanceUnit DistanceUnit { get; }
        DateTime? DateTime { get; }
        TimeType TimeType { get; }
        int? MaxSolutions { get; }
        ModeOfTravel? TravelMode { get; }
        string PointOfInterest { get; }

        bool HasAvoid { get; }
        bool HasWayPoints { get; }
    }
}